﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>我记录软件</title>
    <style>
    a { color:#fff;}
    </style>
</head>
<body style="padding:0px; margin:0px; background:#2c6092">

<div style="background:url(bg.jpg) no-repeat;">

<div style="width:760px; margin:auto; background1:#eee; border1:5px #aaa solid; padding:10px; color:#8fbdc9;">
<div style="margin:10px 10px 20px 10px; text-align:center; font-size:28px; font-weight:bold; font-family:微软雅黑">
    开源软件：我记录开发框架</div>

    <span class="Apple-style-span" 
        style="border-collapse: separate; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
    <span class="Apple-style-span" 
        style=" font-family: tahoma, arial, sans-serif; font-size: 12px; line-height: 18px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-family: Verdana; font-size: 12px; line-height: 21px; ">
        <b>“我记录”开发框架(wojilu framework) 是 .net 平台下的综合开发框架</b>，主要用于 web 方面的快速开发。</div>
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-size: 12px; font-family: Verdana; line-height: 21px; ">
        <font class="Apple-style-span">官方网址：</font><a href="http://www.wojilu.com/" 
            style="text-decoration: none;  ">http://www.wojilu.com</a><br />
        <font class="Apple-style-span">授权协议：</font><a 
            href="http://www.apache.org/licenses/LICENSE-2.0" 
            style="text-decoration: none;  " target="_blank">Apache 
        License</a>，<font class="Apple-style-span"><b>可免费用于商业环境</b>

        <table><tr><td>联系方式：</td><td><img src="contact.jpg" style="height:30px;" /></td></tr></table>
        </font>
        <br /><b>【框架包括】</b></div>
    <div class="clist" 
        style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 15px; margin-right: 5px; margin-bottom: 5px; margin-left: 20px; word-break: break-all; word-wrap: break-word; font-family: Verdana; font-size: 12px; line-height: 21px; ">
        1、一个持久层框架 wojilu ORM<br />
        2、一个依赖注入框架 wojilu IOC<br />
        3、一个Web开发框架 wojilu MVC(包括验证码控件、带进度条上传等)<br />
        4、一个轻量级模板引擎 wojilu template<br />
        5、一个日志类库 wojilu logger<br />
        6、一个轻量级 json 解析器<br />
        7、一个简易的前端 ajax 库(依赖于jquery)<br />
        8、一个富文本编辑器 wojilu editor<br />
    </div>
    <div class="ctitle" 
        style="padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; margin-top: 30px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-size: 14px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color:#26547e; font-weight: bold;   b font-family: Verdana; line-height: 21px;">
        为什么取 wojilu(“我记录”) 这个名称：</div>
    <div class="clist" 
        style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 15px; margin-right: 5px; margin-bottom: 5px; margin-left: 20px; word-break: break-all; word-wrap: break-word; font-family: Verdana; font-size: 12px; line-height: 21px; ">
        wojilu 是“我记录”的拼音形式。<br />
        我给框架取名定了一个标准：<strong style="font-weight: normal; color: #fff; ">易记忆、易拼写、能注册到域名。</strong>目前手头只有“我记录”的域名(以前是博客系统名称)马马虎虎符合要求，就直接拿来用了。<br />
    </div>
    <div class="ctitle" 
        style="padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; margin-top: 30px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-size: 14px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color:#26547e; font-weight: bold;   b font-family: Verdana; line-height: 21px;">
        wojilu framework 总特点：</div>
    <div class="clist" 
        style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 15px; margin-right: 5px; margin-bottom: 5px; margin-left: 20px; word-break: break-all; word-wrap: break-word; line-height: 25px; font-family: Verdana; font-size: 12px; ">
        1、<strong style="font-weight: normal; color: #fff; ">简洁轻快</strong>。整个框架，除了jquery，没有依赖其他第三方类库；<br />
        2、<strong style="font-weight: normal; color: #fff; ">绝不过度设计</strong>。简单、易学、易上手是这套框架对自己的定位。<br />
        3、<strong style="font-weight: normal; color: #fff; ">从实战出发</strong>，<strong 
            style="font-weight: normal; color: #fff; ">提供了 cms/sns/forum 
        等大型系统的示例，经过了全面的实战检验；</strong>不像其他一些框架只提供一个 blog 的粗糙 demo。wojilu framework 
        希望自己是一个真正从实战中来，到实战中去的框架。<br />
        4、<strong style="font-weight: normal; color: #fff; ">从整体上考虑各子框架的设计</strong>，比如前端 
        ajax 部分和 mvc 框架的结合；比如IOC依赖注入和mvc中控制器的结合等；<br />
        5、<strong style="font-weight: normal; color: #fff; ">使用 apache 开源协议</strong>，可以免费应用于商业环境。<br />
        6、<strong style="font-weight: normal; color: #fff; ">对 dotnet 的版本要求低</strong>，支持dotnet 
        2.0，当然也支持更高版本。<br />
        7、<strong style="font-weight: normal; color: #fff; ">没有多个框架整合的问题</strong>。作为全栈式(fullstack) 
        框架，各子框架之间已经无缝集成了。<br />
    </div>
    <div class="ctitle" 
        style="padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; margin-top: 30px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-size: 14px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color:#26547e; font-weight: bold;   b font-family: Verdana; line-height: 21px;">
        各个子框架也有各自的特点：</div>
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-family: Verdana; font-size: 12px; line-height: 21px; ">
        <table border="1" cellspacing="0" class="ctable" 
            style="font-size: 12px; margin-top: 10px; margin-right: 0px; margin-bottom: 20px; margin-left: 30px;  border-collapse: collapse; width: 654px; ">
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    名称</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    特点</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu ORM</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    1、简单易用，支持 sqlserver/mysql/access 三种数据库；<br />
                    2、以实用为目的，比如直接集成数据分页方案；<br />
                    3、以领域模型为中心，自动根据领域模型建立数据表；<br />
                    4、支持数据库垂直划分(多数据库支持)，配置简单；<br />
                    5、和 mvc 框架配合，支持数据库事务；<br />
                    6、内置数据验证方案，可扩展。</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu IOC</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    配置简单，相当的轻量级</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu MVC</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    1、支持命名空间（让代码文件更加整洁易览；让页面layout和权限控制更加简单易用）；<br />
                    2、默认将静态文件(js/css/图片等)单独存放，可以轻松切换到二级域名(分离应用服务器和静态服务器)；<br />
                    3、视图逻辑和视图模板彻底分离；<br />
                    4、控制器可轻松依赖注入；控制器本身也可以通过配置自定义；<br />
                    5、不对 html 封装，可以让前端开发彻底工作在html和css层面，对html拥有完全控制的自由；<br />
                    6、多国语言支持(i18n)，并且简洁易用；<br />
                    <br />
                    其他 mvc 
                    框架都会带的功能，比如路由、过滤器、RESTfull风格的Url、无页面后缀名、约定优于配置的风格等都是不可缺少的；另外，对页面生命周期中各事件的扩展也提供了完善的支持。</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu template</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    简单易用，只有两种语法。</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu logger</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    专为我记录框架定做的日志系统，简单易用</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu json</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    我记录的缓存组件和配置组件，全部使用 json 进行持久化，是系统的重要组成部分。</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu ajax</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    1、提供了最常用的弹窗、表单验证、菜单等内容；<br />
                    2、基本上“零js书写”，不需要js基础就能使用，上手非常容易；<br />
                    3、和视图完全分离；<br />
                    4、和 mvc 后端 controller 无缝集成；<br />
                    5、及其简单的验证码使用；<br />
                    6、支持flash带进度条上传。</td>
            </tr>
            <tr style="font-size: 12px; ">
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; width: 119px; ">
                    wojilu editor</td>
                <td style="font-size: 12px;  border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(170, 170, 170); border-right-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); border-left-color: rgb(170, 170, 170); b border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 3px; padding-right: 5px; padding-bottom: 2px; padding-left: 5px; ">
                    轻量级，在 mvc 中直接使用，无须配置</td>
            </tr>
        </table>
    </div>
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-family: Verdana; font-size: 12px; line-height: 21px; ">
        <div class="ctitle" 
            
            style="padding: 5px 10px; margin-top: 30px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-size: 14px; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #26547e; font-weight: bold; background-image: initial;">
            wojilu framework 做不到的功能：</div>
    </div>
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 0px; margin-left: 10px; word-break: break-all; word-wrap: break-word; font-family: verdana; font-size: 12px; line-height: 18px; ">
        <b style=" "><font class="Apple-style-span" 
            color="#ffffff">wojilu框架作为一个.net平台下的框架，</font><font 
            class="Apple-style-span" >它和.net不是矛盾的关系</font></b><font 
            class="Apple-style-span" >。它能够让开发过程更加快速可靠，而不是说用了wojilu，就不能使用.net原生的方法了。在使用wojilu不方便的或力所不及的地方，仍然可以直接使用.net原生的方法。——这也就是为什么使用 
        wojilu framework 可以开发出“我记录网站综合系统”这个无所不包的系统的原因，因为</font><b 
            style=" "><font class="Apple-style-span" 
            color="#ffffff">.net能做的，它都能做到。你可以理解为，wojilu什么都能做</font></b>。</div>
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; font-family: verdana; font-size: 12px; line-height: 18px; ">
        <br />
    </div>
    <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 10px; word-break: break-all; word-wrap: break-word; font-family: Verdana; font-size: 12px; line-height: 21px; ">
        举个例子，使用wojilu ORM 可以应付95%以上的数据操作，但对于另外的5%的复杂查询，比如一些多表的联表检索，wojilu 
        ORM就不擅长（其实任何一个ORM都不擅长复杂的查询）。这时候，你可以直接使用.net 原生的command来操作，比如：<br />
        <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; ">
            <font class="Apple-style-span" >&nbsp;&nbsp; IDbConnection connection = 
            DbContext.getConnection( dataType );</font></div>
        <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; ">
            <font class="Apple-style-span" >&nbsp;&nbsp; IDbCommand cmd = 
            connection.CreateCommand();</font></div>
        <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; ">
            <font class="Apple-style-span" >&nbsp;&nbsp; cmd.CommandText = &quot;sql 语句&quot;;</font></div>
        <div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; word-break: break-all; word-wrap: break-word; ">
            <font class="Apple-style-span" >&nbsp;&nbsp; IDataReader rd = 
            cmd.ExecuteReader();</font></div>
    </div>
    </span></span><br /><br />


</div>


</div>

</body>
</html>
